encoding/json/jsontext.state.Tokens (field)
173 uses
encoding/json/jsontext (current package)
decode.go#L331: if err == io.ErrUnexpectedEOF && d.Tokens.Depth() == 1 {
decode.go#L354: if d.Tokens.needDelim(next) != delim {
decode.go#L376: if d.Tokens.needDelim(next) != delim {
decode.go#L393: switch d.Tokens.needDelim(next) {
decode.go#L399: if d.Tokens.Last.isObject() {
decode.go#L422: depth := d.Tokens.Depth()
decode.go#L427: if depth >= d.Tokens.Depth() {
decode.go#L445: if d.Tokens.Depth()-1 > 0 && d.Tokens.Last.Length() == 0 {
decode.go#L446: for n := d.Tokens.Depth(); d.Tokens.Depth() >= n; {
decode.go#L458: for d.Tokens.Depth() > depth || (d.Tokens.Depth() == depth && d.Tokens.Last.Length() < length) {
decode.go#L494: if err == io.ErrUnexpectedEOF && d.Tokens.Depth() == 1 {
decode.go#L515: if d.Tokens.needDelim(next) != delim {
decode.go#L532: if err = d.Tokens.appendLiteral(); err != nil {
decode.go#L547: if err = d.Tokens.appendLiteral(); err != nil {
decode.go#L562: if err = d.Tokens.appendLiteral(); err != nil {
decode.go#L581: if d.Tokens.Last.NeedObjectName() {
decode.go#L583: if !d.Tokens.Last.isValidNamespace() {
decode.go#L586: if d.Tokens.Last.isActiveNamespace() && !d.Namespaces.Last().insertQuoted(d.buf[pos-n:pos], flags.IsVerbatim()) {
decode.go#L593: if err = d.Tokens.appendString(); err != nil {
decode.go#L613: if err = d.Tokens.appendNumber(); err != nil {
decode.go#L620: if err = d.Tokens.pushObject(); err != nil {
decode.go#L633: if err = d.Tokens.popObject(); err != nil {
decode.go#L645: if err = d.Tokens.pushArray(); err != nil {
decode.go#L654: if err = d.Tokens.popArray(); err != nil {
decode.go#L703: if err == io.ErrUnexpectedEOF && d.Tokens.Depth() == 1 {
decode.go#L724: if d.Tokens.needDelim(next) != delim {
decode.go#L731: pos, err = d.consumeValue(flags, pos, d.Tokens.Depth())
decode.go#L739: err = d.Tokens.appendLiteral()
decode.go#L741: if d.Tokens.Last.NeedObjectName() {
decode.go#L743: if !d.Tokens.Last.isValidNamespace() {
decode.go#L747: if d.Tokens.Last.isActiveNamespace() && !d.Namespaces.Last().insertQuoted(d.buf[pos-n:pos], flags.IsVerbatim()) {
decode.go#L754: err = d.Tokens.appendString()
decode.go#L756: err = d.Tokens.appendNumber()
decode.go#L758: if err = d.Tokens.pushObject(); err != nil {
decode.go#L761: if err = d.Tokens.popObject(); err != nil {
decode.go#L765: if err = d.Tokens.pushArray(); err != nil {
decode.go#L768: if err = d.Tokens.popArray(); err != nil {
decode.go#L792: if pos, err := d.consumeValue(&flags, pos, d.Tokens.Depth()); err != nil {
decode.go#L889: if (d.Tokens.Last.isObject() && next == ']') || (d.Tokens.Last.isArray() && next == '}') {
decode.go#L1185: return d.s.Tokens.Depth() - 1
decode.go#L1202: switch s := d.s.Tokens.index(i); {
encode.go#L154: return e.wr != nil && (e.Tokens.Depth() == 1 || len(e.Buf) > 3*cap(e.Buf)/4)
encode.go#L165: if e.Tokens.Depth() == 1 && !e.Flags.Get(jsonflags.OmitTopLevelNewline) {
encode.go#L233: case e.Tokens.Last.Length() == 0:
encode.go#L237: case e.Tokens.Last.needObjectValue():
encode.go#L241: case e.Tokens.Last.NeedObjectName() && len(e.Buf) >= 2:
encode.go#L254: if last := e.Tokens.Last; !last.isObject() || !last.NeedObjectName() || last.Length() == 0 {
encode.go#L295: e.Tokens.Last.decrement() // for object member value
encode.go#L296: e.Tokens.Last.decrement() // for object member name
encode.go#L298: if e.Tokens.Last.isActiveNamespace() {
encode.go#L313: if last := e.Tokens.Last; !last.isObject() || last.Length() != 1 {
encode.go#L324: e.Tokens.Last.decrement()
encode.go#L326: if e.Tokens.Last.isActiveNamespace() {
encode.go#L352: b = e.Tokens.MayAppendDelim(b, k)
encode.go#L363: err = e.Tokens.appendLiteral()
encode.go#L366: err = e.Tokens.appendLiteral()
encode.go#L369: err = e.Tokens.appendLiteral()
encode.go#L374: if e.Tokens.Last.NeedObjectName() {
encode.go#L376: if !e.Tokens.Last.isValidNamespace() {
encode.go#L380: if e.Tokens.Last.isActiveNamespace() && !e.Namespaces.Last().insertQuoted(b[pos:], false) {
encode.go#L387: err = e.Tokens.appendString()
encode.go#L392: err = e.Tokens.appendNumber()
encode.go#L395: if err = e.Tokens.pushObject(); err != nil {
encode.go#L405: if err = e.Tokens.popObject(); err != nil {
encode.go#L414: err = e.Tokens.pushArray()
encode.go#L418: err = e.Tokens.popArray()
encode.go#L447: b = e.Tokens.MayAppendDelim(b, k)
encode.go#L478: if e.Tokens.Last.NeedObjectName() {
encode.go#L480: if !e.Tokens.Last.isValidNamespace() {
encode.go#L483: if e.Tokens.Last.isActiveNamespace() && !e.Namespaces.Last().insertQuoted(b[pos:], isVerbatim) {
encode.go#L490: if err := e.Tokens.appendString(); err != nil {
encode.go#L497: if err := e.Tokens.appendNumber(); err != nil {
encode.go#L534: b = e.Tokens.MayAppendDelim(b, k)
encode.go#L543: b, m, err := e.reformatValue(b, v[n:], e.Tokens.Depth())
encode.go#L557: err = e.Tokens.appendLiteral()
encode.go#L559: if e.Tokens.Last.NeedObjectName() {
encode.go#L561: if !e.Tokens.Last.isValidNamespace() {
encode.go#L565: if e.Tokens.Last.isActiveNamespace() && !e.Namespaces.Last().insertQuoted(b[pos:], false) {
encode.go#L572: err = e.Tokens.appendString()
encode.go#L574: err = e.Tokens.appendNumber()
encode.go#L576: if err = e.Tokens.pushObject(); err != nil {
encode.go#L579: if err = e.Tokens.popObject(); err != nil {
encode.go#L586: if err = e.Tokens.pushArray(); err != nil {
encode.go#L589: if err = e.Tokens.popArray(); err != nil {
encode.go#L613: delim := e.Tokens.needDelim(next)
encode.go#L626: if m := e.Tokens.NeedIndent(next); m > 0 {
encode.go#L636: if delim := e.Tokens.needDelim(next); delim == ':' {
encode.go#L645: b = e.AppendIndent(b, e.Tokens.NeedIndent(next))
encode.go#L958: return e.s.Tokens.Depth() - 1
encode.go#L975: switch s := e.s.Tokens.index(i); {
errors.go#L90: if len(d.Tokens.Stack) > 0 && d.Tokens.Last.Length() > 0 {
errors.go#L92: case d.Tokens.Last.isArray():
errors.go#L95: case d.Tokens.Last.isObject():
state.go#L57: Tokens stateMachine
state.go#L73: return s.Tokens.Last.needObjectValue()
state.go#L77: s.Tokens.reset()
state.go#L183: for i := 1; i < s.Tokens.Depth(); i++ {
state.go#L184: e := s.Tokens.index(i)
state.go#L186: if isLast := i == s.Tokens.Depth()-1; isLast {
encoding/json/v2
arshal.go#L203: if xe.Tokens.Last.NeedObjectName() {
arshal.go#L250: export.Encoder(out).Tokens.InvalidateDisabledNamespaces()
arshal.go#L430: if xd.Tokens.Last.NeedObjectName() {
arshal.go#L473: export.Decoder(in).Tokens.InvalidateDisabledNamespaces()
arshal_any.go#L110: if xe.Tokens.Depth() > startDetectingCyclesAfter {
arshal_any.go#L124: if !mo.Flags.Get(jsonflags.AnyWhitespace) && !xe.Tokens.Last.NeedObjectName() {
arshal_any.go#L125: xe.Buf = append(xe.Tokens.MayAppendDelim(xe.Buf, '{'), "{}"...)
arshal_any.go#L126: xe.Tokens.Last.Increment()
arshal_any.go#L140: xe.Tokens.Last.DisableNamespace()
arshal_any.go#L188: export.Decoder(dec).Tokens.Last.DisableNamespace()
arshal_any.go#L226: if xe.Tokens.Depth() > startDetectingCyclesAfter {
arshal_any.go#L240: if !mo.Flags.Get(jsonflags.AnyWhitespace) && !xe.Tokens.Last.NeedObjectName() {
arshal_any.go#L241: xe.Buf = append(xe.Tokens.MayAppendDelim(xe.Buf, '['), "[]"...)
arshal_any.go#L242: xe.Tokens.Last.Increment()
arshal_default.go#L142: if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace) && !stringify && !xe.Tokens.Last.NeedObjectName() {
arshal_default.go#L143: xe.Buf = strconv.AppendBool(xe.Tokens.MayAppendDelim(xe.Buf, 't'), va.Bool())
arshal_default.go#L144: xe.Tokens.Last.Increment()
arshal_default.go#L228: if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace) && !stringify && !xe.Tokens.Last.NeedObjectName() {
arshal_default.go#L230: b = xe.Tokens.MayAppendDelim(b, '"')
arshal_default.go#L234: xe.Tokens.Last.Increment()
arshal_default.go#L472: stringify := xe.Tokens.Last.NeedObjectName() || mo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
arshal_default.go#L479: xe.Buf = strconv.AppendInt(xe.Tokens.MayAppendDelim(xe.Buf, '0'), va.Int(), 10)
arshal_default.go#L480: xe.Tokens.Last.Increment()
arshal_default.go#L494: stringify := xd.Tokens.Last.NeedObjectName() || uo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
arshal_default.go#L571: stringify := xe.Tokens.Last.NeedObjectName() || mo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
arshal_default.go#L578: xe.Buf = strconv.AppendUint(xe.Tokens.MayAppendDelim(xe.Buf, '0'), va.Uint(), 10)
arshal_default.go#L579: xe.Tokens.Last.Increment()
arshal_default.go#L593: stringify := xd.Tokens.Last.NeedObjectName() || uo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
arshal_default.go#L661: stringify := xe.Tokens.Last.NeedObjectName() || mo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
arshal_default.go#L685: xe.Buf = jsonwire.AppendFloat(xe.Tokens.MayAppendDelim(xe.Buf, '0'), fv, bits)
arshal_default.go#L686: xe.Tokens.Last.Increment()
arshal_default.go#L700: stringify := xd.Tokens.Last.NeedObjectName() || uo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
arshal_default.go#L800: if xe.Tokens.Depth() > startDetectingCyclesAfter {
arshal_default.go#L831: if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace) && !xe.Tokens.Last.NeedObjectName() {
arshal_default.go#L832: xe.Buf = append(xe.Tokens.MayAppendDelim(xe.Buf, '{'), "{}"...)
arshal_default.go#L833: xe.Tokens.Last.Increment()
arshal_default.go#L862: xe.Tokens.Last.DisableNamespace()
arshal_default.go#L1006: xd.Tokens.Last.DisableNamespace()
arshal_default.go#L1144: xe.Tokens.Last.DisableNamespace() // we manually ensure unique names below
arshal_default.go#L1196: if xe.Tokens.Last.Length() > 0 {
arshal_default.go#L1203: b = xe.AppendIndent(b, xe.Tokens.NeedIndent('"'))
arshal_default.go#L1215: xe.Tokens.Last.Increment()
arshal_default.go#L1318: xd.Tokens.Last.DisableNamespace()
arshal_default.go#L1480: if xe.Tokens.Depth() > startDetectingCyclesAfter {
arshal_default.go#L1511: if optimizeCommon && !mo.Flags.Get(jsonflags.AnyWhitespace) && !xe.Tokens.Last.NeedObjectName() {
arshal_default.go#L1512: xe.Buf = append(xe.Tokens.MayAppendDelim(xe.Buf, '['), "[]"...)
arshal_default.go#L1513: xe.Tokens.Last.Increment()
arshal_default.go#L1730: if xe.Tokens.Depth() > startDetectingCyclesAfter {
arshal_funcs.go#L216: prevDepth, prevLength := xe.Tokens.DepthLength()
arshal_funcs.go#L221: currDepth, currLength := xe.Tokens.DepthLength()
arshal_funcs.go#L297: prevDepth, prevLength := xd.Tokens.DepthLength()
arshal_funcs.go#L305: currDepth, currLength := xd.Tokens.DepthLength()
arshal_methods.go#L182: (export.Encoder(enc).Tokens.Last.NeedObjectName()) && t.Kind() == reflect.String) {
arshal_methods.go#L210: (export.Encoder(enc).Tokens.Last.NeedObjectName()) && t.Kind() == reflect.String) {
arshal_methods.go#L234: ((needAddr && va.forcedAddr) || export.Encoder(enc).Tokens.Last.NeedObjectName()) {
arshal_methods.go#L266: ((needAddr && va.forcedAddr) || export.Encoder(enc).Tokens.Last.NeedObjectName()) {
arshal_methods.go#L271: prevDepth, prevLength := xe.Tokens.DepthLength()
arshal_methods.go#L276: currDepth, currLength := xe.Tokens.DepthLength()
arshal_methods.go#L338: export.Decoder(dec).Tokens.Last.NeedObjectName() {
arshal_methods.go#L364: export.Decoder(dec).Tokens.Last.NeedObjectName() {
arshal_methods.go#L369: prevDepth, prevLength := xd.Tokens.DepthLength()
arshal_methods.go#L377: currDepth, currLength := xd.Tokens.DepthLength()
arshal_time.go#L68: k := stringOrNumberKind(!m.isNumeric() || xe.Tokens.Last.NeedObjectName() || mo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag))
arshal_time.go#L99: stringify := !u.isNumeric() || xd.Tokens.Last.NeedObjectName() || uo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
arshal_time.go#L149: k := stringOrNumberKind(!m.isNumeric() || xe.Tokens.Last.NeedObjectName() || mo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag))
arshal_time.go#L175: stringify := !u.isNumeric() || xd.Tokens.Last.NeedObjectName() || uo.Flags.Get(jsonflags.StringifyNumbers|jsonflags.StringTag)
errors.go#L233: currDepth, currLength = e.Tokens.DepthLength()
errors.go#L239: currDepth, currLength = d.Tokens.DepthLength()